package com.team2.insulatingtools.modular.tools.entity;

import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;


/**
 * 绝缘工具 实例类
 *
 * @author vcz
 * @date 2023/04/04 16:58
 */
@TableName("t_tools")
@Data
@EqualsAndHashCode(callSuper = true)
public class Tools extends BaseEntity {

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    @ChineseDescription("主键")
    private Integer id;

    /**
     * qouta编号
     */
    @TableField("quota_id")
    @ChineseDescription("qouta编号")
    private Integer quotaId;

    /**
     * 工具名称
     */
    @TableField("name")
    @ChineseDescription("工具名称")
    private String name;

    /**
     * 状态 0正常/1下架/2报废未补充/3报废已补充
     */
    @TableField("status")
    @ChineseDescription("状态 0正常/1下架/2报废未补充/3报废已补充")
    private Integer status;

    /**
     * 规格型号
     */
    @TableField("specification")
    @ChineseDescription("规格型号")
    private String specification;

    /**
     * 试验日期
     */
    @TableField("test_date")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date testDate;

    /**
     * 有效截止日期
     */
    @TableField("expire_date")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date expireDate;

    /**
     * 试验人
     */
    @TableField("tester")
    @ChineseDescription("试验人")
    private String tester;

    /**
     * 审核人
     */
    @TableField("auditor")
    @ChineseDescription("审核人")
    private String auditor;

    /**
     * 试验结论
     */
    @TableField("operate_conclusion")
    @ChineseDescription("试验结论")
    private String operateConclusion;

    /**
     * 投运日期
     */
    @TableField("operate_date")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date operateDate;

    /**
     * 保管人
     */
    @TableField("keeper")
    @ChineseDescription("保管人")
    private String keeper;

    /**
     * 工作电压
     */
    @TableField("working_voltage")
    @ChineseDescription("工作电压")
    private Float workingVoltage;

    /**
     * 交流试验电压
     */
    @TableField("ac_test_voltage")
    @ChineseDescription("交流试验电压")
    private Float acTestVoltage;

    /**
     * 试验长度
     */
    @TableField("length")
    @ChineseDescription("试验长度")
    private Float length;

    /**
     * 试验持续时间
     */
    @TableField("lasting_time")
    @ChineseDescription("试验持续时间")
    private Float lastingTime;

    /**
     * 试验周期
     */
    @TableField("cycle")
    @ChineseDescription("试验周期")
    private Float cycle;

    /**
     * 泄露电流_新
     */
    @TableField("leakage_current_new")
    @ChineseDescription("泄露电流_新")
    private Integer leakageCurrentNew;

    /**
     * 泄露电流_运行中
     */
    @TableField("leakage_current_running")
    @ChineseDescription("泄露电流_运行中")
    private Integer leakageCurrentRunning;

    /**
     * 是否分节 0分节 1不分节
     */
    @TableField("is_multisection")
    @ChineseDescription("是否分节 0分节 1不分节")
    private Integer isMultisection;

    /**
     * 分节单位
     */
    @TableField("unit")
    @ChineseDescription("分节单位")
    private String unit;

    /**
     * 用途
     */
    @TableField("purpose")
    @ChineseDescription("用途")
    private String purpose;

    /**
     * 备注
     */
    @TableField("remark")
    @ChineseDescription("备注")
    private String remark;

    /**
     * 专业 0 供电专业 1电力专业
     */
    @TableField("speciality")
    @ChineseDescription("专业 0 供电专业 1电力专业")
    private Integer speciality;

    /**
     * 编号
     */
    @TableField("number")
    private Integer number;

    @Override
    public String toString() {
        return "Tools{" +
                "id=" + id +
                ", quotaId=" + quotaId +
                ", name=" + name + '\'' +
                ", status=" + status +
                ", specification=" + specification + '\'' +
                ", testDate=" + testDate +
                ", expireDate=" + expireDate +
                ", tester=" + tester + '\'' +
                ", auditor=" + auditor + '\'' +
                ", operateConclusion=" + operateConclusion + '\'' +
                ", operateDate=" + operateDate +
                ", keeper=" + keeper + '\'' +
                ", workingVoltage=" + workingVoltage +
                ", acTestVoltage=" + acTestVoltage +
                ", length=" + length +
                ", lastingTime=" + lastingTime +
                ", cycle=" + cycle +
                ", leakageCurrentNew=" + leakageCurrentNew +
                ", leakageCurrentRunning=" + leakageCurrentRunning +
                ", isMultisection=" + isMultisection +
                ", unit=" + unit + '\'' +
                ", purpose=" + purpose + '\'' +
                ", remark=" + remark + '\'' +
                ", createUser=" + super.getCreateUser() +
                ", createTime=" + super.getCreateTime() +
                ", updateTime=" + super.getUpdateTime() +
                ", updateUser=" + super.getUpdateUser() +
                ", speciality=" + speciality +
                '}';
    }

}
